
#    -4,-3,-2,-1,0,1,2,3 数字排列

names = ["Mike","Mary","Jan","Jack"]

# 取值 index 索引（单个值） and slice 切片（多个或者单个）
# 1.正数
print(names[3])
# 2.负数
print(names[-4])

# 切片
# print(names[5])
# IndexError : list index out of range
print(names[:])
# 1.从左往右取值时，右边的值取不到
print(names[1:3])
# 如果从0开始取值，0 可省略不写
print(names[:3])

# 2. 再从右往左取值时，右边的值取不到
print(names[-3:-1])

# 怎么能取到 -1这个位置的值呢？右侧不写任何值
print(names[-3:])


# 3.特殊情况 可以指定 slice 切片的步长 step
num_list = list(range(10))
print(num_list)
print(num_list[0:7:3])


# list 增删改

names = ["Mike","Mary","Jan","Jack"]

print(names)
names.append("Alex") #list增：append增加数据，观察增加的位置。
print(names)
names.insert(1,"Dan") #list增：insert指定位置增加数据
print(names)
names[3] = "youge" #list改：直接找到列表中某个值，然后赋新值
print(names)
names.remove("youge") #list删：remove指定某个数据进行删除
print(names)
del names[1] #list删： del指定[x]的某个数据位置进行删除
print(names)
names.pop() #list删：Remove and return item at index (default last) 不指定默认删除最后一个值
print(names)
names.pop(1) #lsit删：如果加上指定位置，names.pop(1)<==> del names[1]
print(names)





